package com.ithuameng.admin.app.system.model.admin.vo;

import com.ithuameng.admin.enums.MenuType;
import com.ithuameng.admin.enums.YesNo;
import lombok.Data;

import javax.validation.constraints.*;

/**
 * 添加菜单 vo
 * 
 * @author ithuameng
 *
 */
@Data
public class MenuAddVo {

	/**
	 * 名称
	 */
	@NotBlank(message = "菜单名称为空")
	@Size(max = 50, message = "菜单名称不能超过50个字符")
	private String name;

	/**
	 * 父权限编号
	 */
	private Long parentId;

	/**
	 * 父权限名称
	 */
	private String parentName;

	/**
	 * 页面路径
	 */
	@Size(max = 200, message = "路由地址不能超过200个字符")
	private String path;

	/**
	 * 前端组件
	 */
	@Size(max = 200, message = "组件路径不能超过200个字符")
	private String component;

	/**
	 * 权限类型
	 */
	private MenuType type;

	/**
	 * 参数
	 */
	@Size(max = 200, message = "路由参数不能超过200个字符")
	private String query;

	/**
	 * 是否为外链
	 */
	private YesNo frame;

	/**
	 * 是否显示
	 */
	private YesNo display;

	/**
	 * 是否缓存
	 */
	private YesNo cache;

	/**
	 * 状态
	 */
	private YesNo status;

	/**
	 * 图标
	 */
	@Size(max = 200, message = "图标不能超过200个字符")
	private String icon;

	/**
	 * 排序值
	 */
	@Min(value=0,message = "显示顺序值最小为0")
	@Max(value=99999,message = "显示顺序值最大为99999")
	@NotNull(message = "显示顺序为空")
	private Integer seq;

	/**
	 * 权限字符串
	 */
	@Size(max = 200, message = "权限字符不能超过200个字符")
	private String perms;
}
